---@class FighterAiConstans
FighterAiConstans = ClientFight.CreateClass("FighterAiConstans")
local this = FighterAiConstans;
function FighterAiConstans.ctor()
end
this.pitfallAI = {["开始"] ={["陷阱攻击行为"] = ""} };

this.daibiAi = {["开始"] = {["站桩型行为"] = ""}};

--this.fighterAI = "{\"开始\":\r\n" .. "	{\r\n" .. "		\"序列1（前面的行为返回true的时候，执行下面的行为）\":\r\n"
--        .. "		{\r\n" .. "			\"行动判断\":\"\",\r\n" .. "			\"选择器1（前面的行为返回false的时候，执行下面的行为）\":\r\n"
--        .. "			 {\r\n" .. "				\"序列2（前面的行为返回true的时候，执行下面的行为）\":\r\n" .. "				{\r\n"
--        .. "					\"边界判断\":\"\",\r\n" .. "					\"移动判断\":\"\",\r\n"
--        .. "					\"跑回行为\":\"\"\r\n" .. "				},\r\n" .. "				\"边界判断\":\"\",\r\n"
--        .. "				\"序列3（前面的行为返回true的时候，执行下面的行为）\":\r\n" .. "				{\r\n"
--        .. "					\"选择器2（前面的行为返回false的时候，执行下面的行为）\":\r\n" .. "					 {\r\n"
--        .. "						\"技能选择判断\":\"\",\r\n" .. "						\"技能选择行为\":\"\"\r\n"
--        .. "					},\r\n" .. "					\"选择器3（前面的行为返回false的时候，执行下面的行为）\":\r\n"
--        .. "					 {\r\n" .. "						\"目标选择判断\":\"\",\r\n"
--        .. "						\"目标选择行为\":\"\"\r\n" .. "					},\r\n"
--        .. "					\"选择器4（前面的行为返回false的时候，执行下面的行为）\":\r\n" .. "					 {\r\n"
--        .. "						\"序列4（前面的行为返回true的时候，执行下面的行为）\":\r\n" .. "						{\r\n"
--        .. "							\"攻击距离判断\":\"\",\r\n" .. "							\"攻击行为\":\"\"\r\n"
--        .. "						},\r\n" .. "						\"移动行为\":\"\"\r\n" .. "					}\r\n"
--        .. "				}\r\n" .. "			}\r\n" .. "		}\r\n" .. "	}\r\n" .. "}";

--this.fighterAIObj = decodeJsonStrToTabel(this.fighterAI);
this.fighterAIObj = { ["开始"] = {
    ["1-序列1（前面的行为返回true的时候，执行下面的行为）"] = {
        ["1-行动判断"] = "",
        ["2-选择器1（前面的行为返回false的时候，执行下面的行为）"] = {
            ["1-序列2（前面的行为返回true的时候，执行下面的行为）"] = {
                ["1-边界判断"] = "",
                ["2-移动判断"] = "",
                ["3-跑回行为"] = "",
            },
            ["2-边界判断"] = "",
            ["3-序列3（前面的行为返回true的时候，执行下面的行为）"] = {
                ["1-选择器2（前面的行为返回false的时候，执行下面的行为）"] = {
                    ["1-技能选择判断"] = "",
                    ["2-技能选择行为"] = ""
                },
                ["2-选择器3（前面的行为返回false的时候，执行下面的行为）"] = {
                    ["1-目标选择判断"] = "",
                    ["2-目标选择行为"] = "",
                },
                ["3-选择器4（前面的行为返回false的时候，执行下面的行为）"] = {
                    ["1-序列4（前面的行为返回true的时候，执行下面的行为）"] = {
                        ["1-攻击距离判断"] = "",
                        ["2-攻击行为"] = "",
                    },
                    ["2-移动行为"] = "",
                }
            }
        }
    }
}
}

function FighterAiConstans.getAiJsonByType(aiTypeEnum)
    if FighterAiTypeEnum.PITFALL == aiTypeEnum then
        return this.pitfallAI;
    elseif FighterAiTypeEnum.DAI_BI == aiTypeEnum then
        return this.daibiAi;
    else
        return this.fighterAIObj;
    end
end

function FighterAiConstans.getAiTypeEnum (code)
    for i, aiTypeEnum in pairs(FighterAiTypeEnum.list) do
        if (aiTypeEnum == code) then
            return aiTypeEnum;
        end
    end
    return FighterAiTypeEnum.NORMAL;
end